package com.skywolf.chem.match.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skywolf.chem.manager.entity.*;
import com.skywolf.chem.match.entity.Info;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.skywolf.chem.match.params.page.MatchInfoPageParam;
import com.skywolf.chem.match.params.vo.MatchInfoQueryVo;
import com.skywolf.chem.match.params.vo.MatchPageInfoQueryVo;
import com.skywolf.chem.match.params.vo.OrderListQueryVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 赛事详情 Mapper 接口
 * </p>
 *
 * @author 
 * @since 2021-09-24
 */
@Mapper
public interface MatchInfoMapper extends BaseMapper<Info> {
    List<ActivityVo> getActivityListManager(@Param("startNum") Long startNum, @Param("endNum") Long endNum,
                                            @Param("matchName") String matchName, @Param("matchStatus")Integer matchStatus, @Param("applyStatus")Integer applyStatus,
                                            @Param("startTime")String startTime, @Param("endTime")String endTime);

    Integer getActivityCountManager(@Param("matchName") String matchName, @Param("matchStatus")Integer matchStatus, @Param("applyStatus")Integer applyStatus,
                                    @Param("startTime")String startTime, @Param("endTime")String endTime);



    IPage<MatchPageInfoQueryVo> getMatchQueryList(@Param("page") Page<MatchPageInfoQueryVo> page,@Param("param") MatchInfoPageParam pageParam);

    MatchInfoQueryVo getMatchInfoById(@Param("id") Long id, @Param("userId") Long userId);

    IPage<ActivityRecordVo> getUserList(@Param("page") Page<ActivityRecordVo> page, @Param("param") ActivityRecordRequest pageParam);

    List<ReportUserListVo> getReportUserList(@Param("activityName") String activityName);

    List<OrderListQueryVo> getCollectQueryVoByUserId(@Param("userId") Long userId);
}
